home *** CD-ROM | disk | FTP | other *** search
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- editres - a dynamic resource editor for X Toolkit
- applications
-
- SSSSYYYYNNNNTTTTAAAAXXXX
- eeeeddddiiiittttrrrreeeessss [ -_t_o_o_l_k_i_t_o_p_t_i_o_n ... ]
-
- OOOOPPPPTTTTIIIIOOOONNNNSSSS
- _E_d_i_t_r_e_s accepts all of the standard X Toolkit command line
- options (see _X(_1)). The order of the command line options
- is not important.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- Editres is a tool that allows users and application
- developers to view the full widget hierarchy of any X
- Toolkit application that speaks the Editres protocol. In
- addition, editres will help the user construct resource
- specifications, allow the user to apply the resource to the
- application and view the results dynamically. Once the user
- is happy with a resource specification editres will append
- the resource string to the user's X Resources file.
-
- UUUUSSSSIIIINNNNGGGG EEEEDDDDIIIITTTTRRRREEEESSSS
- _E_d_i_t_r_e_s provides a window consisting of the following four
- areas:
-
- Menu Bar A set of popup menus that allow you
- full access to editres's features.
-
- Panner The panner allows a more intuitive
- way to scroll the application tree
- display.
-
- Message Area Displays information to the user
- about the action that editres
- expects of her.
-
- Application Widget Tree This area will be used to display
- the selected application's widget
- tree.
-
- To begin an editres session select the GGGGeeeetttt WWWWiiiiddddggggeeeetttt TTTTrrrreeeeeeee menu
- item from the command menu. This will change the pointer
- cursor to cross hair. You should now select the application
- you wish look at by clicking on any of its windows. If this
- application understands the editres protocol then editres
- will display the application's widget tree in its tree
- window. If the application does not understand the editres
- protocol editres will inform you of this fact in the message
- area after a few seconds delay.
-
- Once you have a widget tree you may now select any of the
-
-
-
- Page 1 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- other menu options. The effect of each of these is described
- below.
-
- CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
- Get Widget Tree
- Allows the user to click on any application that
- speaks the editres protocol and receive its widget
- tree.
-
- Refresh Current Widget Tree
- Editres only knows about the widgets that exist at
- the present time. Many applications create and
- destroy widgets on the fly. Selecting this menu
- item will cause editres to ask the application to
- resend its widget tree, thus updating its
- information to the new state of the application.
-
- For example, xman only creates the widgets for its
- _t_o_p_b_o_x when it starts up. None of the widgets for
- the manual page window are created until the user
- actually clicks on the _M_a_n_u_a_l _P_a_g_e button. If you
- retrieved xman's widget tree before the the manual
- page is active, you may wish to refresh the widget
- tree after the manual page has been displayed. This
- will allow you to also edit the manual page's
- resources.
-
- Dump Widget Tree to a File
- For documenting applications it is often useful to
- be able to dump the entire application widget tree
- to an ASCII file. This file can then be included in
- the manual page. When this menu item is selected a
- popup dialog is activated. Type the name of the
- file in this dialog, and either select _o_k_a_y, or type
- a carriage-return. Editres will now dump the widget
- tree to this file. To cancel the file dialog,
- select the _c_a_n_c_e_l button.
-
- Show Resource Box
- This command will popup a resource box for the
- current application. This resource box (described
- in detail below) will allow the user to see exactly
- which resources can be set for the widget that is
- currently selected in the widget tree display. Only
- one widget may be currently selected; if greater or
- fewer are selected editres will refuse to pop up the
- resource box and put an error message in the MMMMeeeessssssssaaaaggggeeee
- AAAArrrreeeeaaaa.
-
- Set Resource
- This command will popup a simple dialog box for
- setting an arbitrary resource on all selected
-
-
-
- Page 2 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- widgets. You must type in the resource name, as
- well as the value. You can use the Tab key to
- switch between the resource name field the resource
- value field.
-
- Quit Exits editres.
-
- TTTTRRRREEEEEEEE CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
- The TTTTrrrreeeeeeee menu contains several commands that allow
- operations to be performed on the widget tree.
-
- Select Widget in Client
- This menu item allows you to select any widget in the
- application; editres will then highlight the
- corresponding element the widget tree display. Once
- this menu item is selected the pointer cursor will
- again turn to a crosshair, and you must click any
- pointer button in the widget you wish to have
- displayed. Since some widgets are fully obscured by
- their children, it is not possible to get to every
- widget this way, but this mechanism does give very
- useful feedback between the elements in the widget tree
- and those in the actual application.
-
- Select All
- Unselect All
- Invert All
- These functions allow the user to select, unselect, or
- invert all widgets in the widget tree.
-
- Select Children
- Select Parents
- These functions select the immediate parent or children
- of each of the currently selected widgets.
-
- Select Descendants
- Select Ancestors
- These functions select all parents or children of each
- of the currently selected widgets. This is a recursive
- search.
-
- Show Widget Names
- Show Class Names
- Show Widget Windows
- When the tree widget is initially displayed the labels
- of each widget in the tree correspond to the widget
- names. These functions will cause the label of aaaallllllll
- widgets in the tree to be changed to show the class
- name, IDs, or window associated with each widget in the
- application. The widget IDs, and windows are shown as
- hex numbers.
-
-
-
-
- Page 3 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- In addition there are keyboard accelerators for each of the
- Tree operations. If the input focus is over an individual
- widget in the tree, then that operation will only effect
- that widget. If the input focus is in the Tree background
- it will have exactly the same effect as the corresponding
- menu item.
-
- The translation entries shown may be applied to any widget
- in the application. If that widget is a child of the Tree
- widget, then it will only affect that widget, otherwise it
- will have the same effect as the commands in the tree menu.
-
- Flash Active Widgets
- This command is the inverse of the SSSSeeeelllleeeecccctttt WWWWiiiiddddggggeeeetttt iiiinnnn
- CCCClllliiiieeeennnntttt command, it will show the user each widget that
- is currently selected in the widget tree, by flashing
- the corresponding widget in the application _n_u_m_F_l_a_s_h_e_s
- (three by default) times in the _f_l_a_s_h_C_o_l_o_r.
-
- KKKKeeeeyyyy OOOOppppttttiiiioooonnnn TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnn EEEEnnnnttttrrrryyyy
-
- space Unselect Select(nothing)
- w Select Select(widget)
- s Select Select(all)
- i Invert Select(invert)
- c Select Children Select(children)
- d Select Descendants Select(descendants)
- p Select Parent Select(parent)
- a Select Ancestors Select(ancestors)
- N Show Widget Names Relabel(name)
- C Show Class Names Relabel(class)
- I Show Widget IDs Relabel(id)
- W Show Widget Windows Relabel(window)
- T Toggle Widget/Class Name Relabel(toggle)
-
- Clicking button 1 on a widget adds it to the set of
- selected widgets. Clicking button 2 on a widget
- deselects all other widgets and then selects just that
- widget. Clicking button 3 on a widget toggles its
- label between the widget's instance name the widget's
- class name.
-
-
- UUUUSSSSIIIINNNNGGGG TTTTHHHHEEEE RRRREEEESSSSOOOOUUUURRRRCCCCEEEE BBBBOOOOXXXX
- The resource box contains five different areas. Each of the
- areas, as they appear on the screen, from top to bottom will
- be discussed.
-
- The Resource Line
- This area at the top of the resource box shows the
- current resource name exactly as it would appear if you
- were to save it to a file or apply it.
-
-
-
- Page 4 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- The Widget Names and Classes
- This area allows you to select exactly which widgets
- this resource will apply to. The area contains four
- lines, the first contains the name of the selected
- widget and all its ancestors, and the more restrictive
- dot (....) separator. The second line contains less
- specific the Class names of each widget, and well as
- the less restrictive star (****) separator. The third
- line contains a set of special buttons called AAAAnnnnyyyy
- WWWWiiiiddddggggeeeetttt which will generalize this level to match any
- widget. The last line contains a set of special
- buttons called AAAAnnnnyyyy WWWWiiiiddddggggeeeetttt CCCChhhhaaaaiiiinnnn which will turn the
- single level into something that matches zero or more
- levels.
-
- The initial state of this area is the most restrictive,
- using the resource names and the dot separator. By
- selecting the other buttons in this area you can ease
- the restrictions to allow more and more widgets to
- match the specification. The extreme case is to select
- all the AAAAnnnnyyyy WWWWiiiiddddggggeeeetttt CCCChhhhaaaaiiiinnnn buttons, which will match
- every widget in the application. As you select
- different buttons the tree display will update to show
- you exactly which widgets will be effected by the
- current resource specification.
-
- Normal and Constraint Resources
- The next area allows you to select the name of the
- normal or constraint resources you wish to set. Some
- widgets may not have constraint resources, so that area
- will not appear.
-
- Resource Value
- This next area allows you to enter the resource value.
- This value should be entered exactly as you would type
- a line into your resource file. Thus it should contain
- no unescaped new-lines. There are a few special
- character sequences for this file:
-
- \n - This will be replaced with a newline.
-
- \### - Where # is any octal digit. This will be
- replaced with a single byte that contains this sequence
- interpreted as an octal number. For example, a value
- containing a NULL byte can be stored by specifying
- \000.
-
- \<new-line> - This will compress to nothing.
-
- \\ - This will compress to a single backslash.
-
- Command Area
-
-
-
- Page 5 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- This area contains several command buttons, described
- in this section.
-
- Set Save File
- This button allows the user to modify file that the
- resources will be saved to. This button will bring up
- a dialog box that will ask you for a filename; once the
- filename has been entered, either hit carriage-return
- or click on the _o_k_a_y button. To pop down the dialog
- box without changing the save file, click the _c_a_n_c_e_l
- button.
-
- Save This button will append the rrrreeeessssoooouuuurrrrcccceeee lllliiiinnnneeee described
- above to the end of the current save file. If no save
- file has been set the SSSSeeeetttt SSSSaaaavvvveeee FFFFiiiilllleeee dialog box will be
- popped up to prompt the user for a filename.
-
- Apply
- This button attempts to perform a XtSetValues call on
- all widgets that match the rrrreeeessssoooouuuurrrrcccceeee lllliiiinnnneeee described
- above. The value specified is applied directly to all
- matching widgets. This behavior is an attempt to give
- a dynamic feel to the resource editor. Since this
- feature allows users to put an application in states it
- may not be willing to handle, a hook has been provided
- to allow specific applications to block these SetValues
- requests (see BBBBlllloooocccckkkkiiiinnnngggg EEEEddddiiiittttrrrreeeessss RRRReeeeqqqquuuueeeessssttttssss below).
-
- Unfortunately due to design constraints imposed on the
- widgets by the X Toolkit and the Resource Manager,
- trying to coerce an inherently static system into
- dynamic behavior can cause strange results. There is
- no guarantee that the results of an apply will be the
- same as what will happen when you save the value and
- restart the application. This functionality is
- provided to try to give you a rough feel for what your
- changes will accomplish, and the results obtained
- should be considered suspect at best. Having said
- that, this is one of the neatest features of editres,
- and I strongly suggest that you play with it, and see
- what it can do.
-
- Save and Apply
- This button combines the Save and Apply actions
- described above into one button.
-
- Popdown Resource Box
- This button will remove the resource box from the
- display.
-
- BBBBLLLLOOOOCCCCKKKKIIIINNNNGGGG EEEEDDDDIIIITTTTRRRREEEESSSS RRRREEEEQQQQUUUUEEEESSSSTTTTSSSS
- The editres protocol has been built into the Athena Widget
-
-
-
- Page 6 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- set. This allows all applications that are linked against
- Xaw to be able to speak to the resource editor. While this
- provides great flexibility, and is a useful tool, it can
- quite easily be abused. It is therefore possible for any
- Xaw application to specify a value for the eeeeddddiiiittttrrrreeeessssBBBBlllloooocccckkkk
- resource described below, to keep editres from divulging
- information about its internals, or to disable the SSSSeeeettttVVVVaaaalllluuuueeeessss
- part of the protocol.
-
- eeeeddddiiiittttrrrreeeessssBBBBlllloooocccckkkk ((((Class EEEEddddiiiittttrrrreeeessssBBBBlllloooocccckkkk))))
- Specifies which type of blocking this application
- wishes to impose on the editres protocol.
-
- The accepted values are:
-
- all Block all requests.
-
- setValues Block all SetValues requests. As this is the
- only editres request that actually modifies
- the application, this is in effect stating
- that the application is read-only.
-
- none Allow all editres requests.
-
- Remember that these resources are set on any Xaw
- application, nnnnooootttt eeeeddddiiiittttrrrreeeessss. They allow individual
- applications to keep all or some of the requests editres
- makes from ever succeeding. Of course, editres is also an
- Xaw application, so it may also be viewed and modified by
- editres (rather recursive, I know), these commands can be
- blocked by setting the eeeeddddiiiittttrrrreeeessssBBBBlllloooocccckkkk resource on editres
- itself.
-
- RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
- For _e_d_i_t_r_e_s the available application resources are:
-
- nnnnuuuummmmFFFFllllaaaasssshhhheeeessss ((((Class NNNNuuuummmmFFFFllllaaaasssshhhheeeessss))))
- Specifies the number of times the widgets in the
- application will be flashed when the SSSShhhhoooowwww AAAAccccttttiiiivvvveeee
- WWWWiiiiddddggggeeeettttssss command in invoked.
-
- ffffllllaaaasssshhhhTTTTiiiimmmmeeee ((((Class FFFFllllaaaasssshhhhTTTTiiiimmmmeeee))))
- Amount of time between the flashes described above.
-
- ffffllllaaaasssshhhhCCCCoooolllloooorrrr ((((Class ffffllllaaaasssshhhhCCCCoooolllloooorrrr))))
- Specifies the color used to flash application
- widgets. A bright color should be used that will
- immediately draw your attention to the area being
- flashed, such as red or yellow.
-
- ssssaaaavvvveeeeRRRReeeessssoooouuuurrrrcccceeeessssFFFFiiiilllleeee ((((Class SSSSaaaavvvveeeeRRRReeeessssoooouuuurrrrcccceeeessssFFFFiiiilllleeee))))
- This is the file the resource line will be append to
-
-
-
- Page 7 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- when the SSSSaaaavvvveeee button activated in the resource box.
-
- WWWWIIIIDDDDGGGGEEEETTTTSSSS
- In order to specify resources, it is useful to know the
- hierarchy of the widgets which compose _e_d_i_t_r_e_s. In the
- notation below, indentation indicates hierarchical
- structure. The widget class name is given first, followed
- by the widget instance name.
-
- Editres editres
- Paned paned
- Box box
- MenuButton commands
- SimpleMenu menu
- SmeBSB sendTree
- SmeBSB refreshTree
- SmeBSB dumpTreeToFile
- SmeLine line
- SmeBSB getResourceList
- SmeLine line
- SmeBSB quit
- MenuButton treeCommands
- SimpleMenu menu
- SmeBSB showClientWidget
- SmeBSB selectAll
- SmeBSB unselectAll
- SmeBSB invertAll
- SmeLine line
- SmeBSB selectChildren
- SmeBSB selectParent
- SmeBSB selectDescendants
- SmeBSB selectAncestors
- SmeLine line
- SmeBSB showWidgetNames
- SmeBSB showClassNames
- SmeBSB showWidgetIDs
- SmeBSB showWidgetWindows
- SmeLine line
- SmeBSB flashActiveWidgets
- Paned hPane
- Panner panner
- Label userMessage
- Grip grip
- Porthole porthole
- Tree tree
- Toggle <name of widget in application>
- .
- .
- .
- TransientShell resourceBox
- Paned pane
- Label resourceLabel
-
-
-
- Page 8 (printed 10/3/02)
-
-
-
-
-
-
- EEEEDDDDIIIITTTTRRRREEEESSSS((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....6666)))) EEEEDDDDIIIITTTTRRRREEEESSSS((((1111))))
-
-
-
- Form namesAndClasses
- Toggle dot
- Toggle star
- Toggle any
- Toggle name
- Toggle class
- .
- .
- .
- Label namesLabel
- List namesList
- Label constraintLabel
- List constraintList
- Form valueForm
- Label valueLabel
- Text valueText
- Box commandBox
- Command setFile
- Command save
- Command apply
- Command saveAndApply
- Command cancel
- Grip grip
- Grip grip
-
-
- EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
- DDDDIIIISSSSPPPPLLLLAAAAYYYY to get the default host and display number.
-
- XXXXEEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
- to get the name of a resource file that overrides
- the global resources stored in the RESOURCE_MANAGER
- property.
-
- FFFFIIIILLLLEEEESSSS
- <XRoot>/lib/X11/app-defaults/Editres - specifies required
- resources
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- X(1), xrdb(1), Athena Widget Set
-
- RRRREEEESSSSTTTTRRRRIIIICCCCTTTTIIIIOOOONNNNSSSS
- This is a prototype, there are lots of nifty features I
- would love to add, but I hope this will give you some ideas
- about what a resource editor can do.
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Chris D. Peterson, formerly MIT X Consortium
-
-
-
-
-
-
-
- Page 9 (printed 10/3/02)
-
-
-
-